<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>

</head>
<body>

</body>
</html>
<script>
// 英文：
  // alias 别名

// 《ES6 入门》
  // https://es6.ruanyifeng.com/#docs/string-methods


// 对象的 解构 赋值 （本质：通过 key 名的一致，来进行 赋值）
const ming = {
  alias: '小明',
  age: 33,
  child: {
    baby: 'AJ'
  }
};
const { alias } = ming; // alias 的值为 ming.alias

// const bieming = ming.alias;
  // 用对象的 解构赋值 改写 上面的代码
const { alias: bieming, child: { baby } } = ming;

// 总结：对象的 解构赋值
  // 对象的解构赋值，通过 key名一致，来获取 对象表达式 中某个 key 的值
    // 若 想给 对象表达式中某个key的值，赋值为 一个新的变量
      // 做法：见：34行 bieming 为 alias 新的变量名

// console.log('bieming', bieming, baby);

// -----------------------------------

// 数组的解构赋值 - 本质通过 index 的位置，确定值
  const arr = [1, 2, 3];
  const [x, y, z] = arr;
  // console.log(x, y, z);

// 案例：通过 数组的解构赋值，如何交换 两个变量的值：
let a = 123, b = 456;
[b, a] = [a, b];

// console.log(a, b);
</script>